// 导入腾讯位置服务SDK 实例
import qqmap from '../../../utils/qqmap'
Page({
  data: {
    points: [],
  },
  onLoad() {
    this.getLocation()
  },
  // 获取用户当前位置信息 支持promise调用
  async getLocation() {
    // 调用API 拿到用户当前位置的经纬度
    const {
      latitude,
      longitude
    } = await wx.getLocation()
    // console.log(latitude, longitude);
    this.getPoint(latitude, longitude)
  },

  // 调用 wx.chooseLocation 会打开地图由用户选择一个位置后返回该位置的经纬度
  async getchooseLocation() {
    const {
      latitude,
      longitude
    } = await wx.chooseLocation(latitude, longitude)
    console.log(latitude,
      longitude);
    this.getPoint(latitude, longitude)
  },

  // 调用QQMap提供的方法得到用户周边那啥
  getPoint(x, y) {
    wx.showLoading({
      title: '加载中....',
    })
    // 调用腾讯位置服务的 逆地址解析方法 将经纬度解析成为中文地址
    qqmap.reverseGeocoder({
      location: [x, y].join(','),
      success: ({
        result: {
          address
        }
      }) => {
        // 更新数据
        this.setData({
          address,
        })
      },
    })

    // search 是地点搜索功能的方法
    qqmap.search({
      keyword: '小区',
      location: [x, y].join(','),
      page_size: 5,
      success: (res) => {
        // 抽离多余的数据渲染到页面上
        const points = res.data.map(({
          id,
          title,
          _distance
        }) => {
          return {
            id,
            title,
            _distance,
          }
        })
        // 更新数据
        this.setData({
          points,
        })
      },
      complete: () => {
        wx.hideLoading()
      },
    })
  },
})